package com.newly.driver.sdk.device.video.service.api.tencent;


import com.newly.driver.sdk.device.video.cloud.device.tencent.*;
import com.newly.driver.sdk.device.video.service.api.IDevice;

import java.util.List;

/**
 * @author gjm guan
 * @date 2021/10/21 17:37
 * @desc 腾讯云接口
 */
public interface ITencentDevice extends IDevice {
    /**
     * 添加设备
     *
     * @param txCreateDeviceReq 创建设备请求数据
     * @return TXCreateDeviceResp.class
     */
    TXCreateDeviceResp txCreateDevice(TXCreateDeviceReq txCreateDeviceReq);

    /**
     * 删除设备
     *
     * @param tXRemoveDeviceReq 删除设备请求参数
     * @return TXRemoveDeviceResp.class
     */
    TXRemoveDeviceResp txRemoveDevice(TXRemoveDeviceReq tXRemoveDeviceReq);

    /**
     * 查询设备
     *
     * @param txQueryDeviceReq 查询设备请求参数
     * @return TXListDeviceReq.class
     */
    TXQueryDeviceResp txListDevice(TXQueryDeviceReq txQueryDeviceReq);

    /**
     * 根据设备id查询设备
     *
     * @param deviceIds 国标id
     * @return TXQueryDeviceReq.class
     */
    TXQueryDeviceResp txQueryDevice(List<String> deviceIds);

    /**
     * 修改设备
     *
     * @param txModifyDeviceReq 修改的设备请求参数
     * @return TXModifyDeviceResp.class
     */
    TXModifyDeviceResp txModifyDevice(TXModifyDeviceReq txModifyDeviceReq);

    /**
     * 查询设备通道列表
     *
     * @param txQueryChannelReq 查询设备通道请求参数
     * @return 通道列表
     */
    TXQueryChannelResp txListChannel(TXQueryChannelReq txQueryChannelReq);
}
